package com.sgb.kjwl.repository;

import com.sgb.kjwl.model.entity.ParentAreaEntity;
import com.sgb.kjwl.model.entity.SearchMailEntity;
import com.sgb.kjwl.model.entity.ShopImEntity;
import com.sgb.kjwl.model.entity.supplier3.DictEntity3;
import com.sgb.kjwl.model.entity.user.AddressEntity;
import com.swgk.core.base.model.entity.BaseEntity;
import com.swgk.core.view.entity.MenuEntity;

import java.util.List;

import io.reactivex.Observable;

public interface BaseRepertory {

    Observable<BaseEntity<List<AddressEntity<List<AddressEntity>>>>> getCommonAddress();

    Observable<BaseEntity<ShopImEntity>> getShopImInfo(String shopId);

    Observable<BaseEntity<List<SearchMailEntity>>> searchMailList(String condition);

    Observable<BaseEntity<List<MenuEntity<MenuEntity<MenuEntity>>>>> getCategoryData(String areaCode);

    Observable<BaseEntity<List<ParentAreaEntity<List<ParentAreaEntity>>>>> getAreaSecondAndThird(String areacode);

    Observable<BaseEntity<List<DictEntity3>>> getAreaSecond(String areaCode);

    Observable<BaseEntity<List<DictEntity3>>> getAreaSecond2(String areaCode);

    void saveToken(String token);

    String getToken();

    void saveAccount(String account);

    String getAccount();

    String getJwt();

    void saveJwt(String jwt);

    String getNo();

    void saveNo(String no);

    String getAreaCode();

    void setAreaCode(String code);

    String getAreaName();

    void setAreaName(String name);

    String getLongititude();

    void setLongititude(String longititude);

    String getLatitude();

    void setLatitude(String latitude);

    void setLocalCode(String code);

    String getLocalCode();

    boolean getIsLocal();
}
